TOP

SQL 削除

SQL DELETEの説明

DELETE ステートメントは、テーブル内の既存のレコードを削除するために使用されます。


DELETE 構文

DELETE FROM table_name WHERE condition
テーブル内のエントリを削除するときは注意してください。 DELETE ステートメントの WHERE 句に注目してください。 WHERE 句は、削除するレコードを指定します。 WHERE 式を省略すると、テーブル内のすべてのエントリが削除されます。

デモデータベース

以下は、Northwind データベースの Customers テーブルのサンプルです。

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.5021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.5023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

SQL DELETE の例

次の SQL ステートメントは、顧客「Alfreds Futterkiste」を「Customers」テーブルから削除します。

DELETE FROM Customers 
WHERE CustomerName = 'Alfreds Futterkiste'

「Customers」テーブルは次のようになります。

CustomerID CustomerName ContactName Address City PostalCode Country
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitucion 2222 Mexico D.F. 05021 Mexico
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Mexico D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbkop Christina Berglund Berguvsvagen 8 Lulea S-958 22 Sweden

すべてのエントリを削除する

テーブルを削除せずに、テーブル内のすべての行を削除できます。これは、テーブル構造、属性、インデックスが変更されないことを意味します。

DELETE FROM table_name

次の SQL ステートメントは、テーブル自体を削除せずに、Customers テーブル内のすべての行を削除します。

DELETE FROM Customers